function loud3r_relatedTopics(divId, max) {
	this.source = 'http://cn_mma.easi3r.com';
	this.base_url = 'http://www.chicagonow.com/';
	this.section = 'sports';
	this.category = 'mma';
	this.base_link = this.base_url+'section/'+this.section+'/'+this.category;
	this.divId = divId;
	this.max = max;
	this.href = location.href;
	this.listDivId = 'loud3r-relTopics-list';
	if(!this.max){ this.max = 10; }
	var thisobj = this;
	var jsonp = 'loud3r_relatedTopics.cb' + Math.round(Math.random()*10000000);
	eval(jsonp + " = function(data) { thisobj.render(data); }");
	var dataurl = this.source+'/xml/stories/?format=json&jsonp='+jsonp+'&url='+this.href;
	var wrapper = '<div id="loud3r-relTopics"><ul id="'+this.listDivId+'"></ul></div>';
	this.divId ? document.getElementById(this.divId).innerHTML = wrapper : document.write(wrapper);
	this.addScript(dataurl);
}

loud3r_relatedTopics.prototype.addScript = function(dataurl) { 
	var headID = document.getElementsByTagName("head")[0];         
	var newScript = document.createElement('script');
	newScript.type = 'text/javascript';
	newScript.src = dataurl;
	headID.appendChild(newScript);
}

loud3r_relatedTopics.prototype.render = function(data) {
	var html = [], k = 0;
	if(data){
		var topics = data[0].topics;
		for (i=0; i<topics.length && i<this.max;i++){
			var topic = topics[i];
			html[k++] = '<li><a href="'+this.base_link+'/'+topic.title.replace(/[^\w+]/g,'-')+'">'+topic.title+'</a></li>';
		}
		if(topics.length<this.max){
			this.max = this.max - topics.length;
			this.backup();
		}
	} else {
		this.backup();
	}
	document.getElementById(this.listDivId).innerHTML = html.join('');
}

loud3r_relatedTopics.prototype.backup = function() {
	var thisobj = this;
	var jsonp = 'loud3r_relatedTopics.cb2' + Math.round(Math.random()*10000000);
	eval(jsonp + " = function(data) { thisobj.addTopics(data); }");
	var dataurl = this.source+'/xml/topics/?format=json&type=featured&jsonp='+jsonp;
	this.addScript(dataurl);
}

loud3r_relatedTopics.prototype.addTopics = function(data) {
	var topics = [], html = [], x = 0;
	var element = document.getElementById(this.listDivId);
	var inner = element.innerHTML;
	for(var i in data){
		for(var k in data[i]){
			topics.push(data[i][k]);
		}
	}
	topics.sort(function() {return 0.5 - Math.random()});
	var y = 0;
	while (y<topics.length && y<this.max){
		var topic = topics.shift();
		if(inner.indexOf(topic.title) == -1){
			html[x++] = '<li><a href="'+this.base_link+'/'+topic.title.replace(/[^\w+]/g,'-')+'">'+topic.title+'</a></li>';
			y++;
		}
	}	
	element.innerHTML = inner + html.join(''); 
}
